Optical devices have been developed in recent years to operate in conjunction with conventional transmission systems for performing complex optical signal processing. These devices can be arranged into two major classes: highly parallel devices for performing some combinatorial (Boolean) function, and relational devices, such as switches and couplers, for establishing a relation or mapping between input and output ports. While relational devices operate at high bit rates, they do so in a simplistic fashion. Generally, these devices cannot provide any "intelligent" processing since they cannot realize any Boolean operations. Parallel devices, on the other hand, while affording logic operations operate at relatively slow speeds which limit the bit rates of optical signals passing through them.